<!DOCTYPE html>
<!-- saved from url=(0023)chrome://chromewebdata/ -->
<html i18n-values="dir:textdirection" dir="ltr"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title i18n-content="title">无法访问 http://www.facebook.com/plugins/like.php?href=http://www.vogella.de/articles/OSGi/article.html&amp;layout=button_count&amp;show_faces=false&amp;width=80&amp;action=like&amp;font=verdana&amp;colorscheme=light</title>
<style>
body {
  font-family: Helvetica, Arial, sans-serif;
  margin: 0;
  background-color: #CCC;
}
html[high-color-depth] body {
  background: -webkit-linear-gradient(#CCC, #AAA);
  background-attachment: fixed;
}
#cell {
  padding: 40px;
}
#box {
  width: 80%;
  min-width: 200px;
  max-width: 750px;
  background-color: white;
  color: black;
  font-size: 10pt;
  line-height: 18px;
  -webkit-box-shadow: 2px 5px 12px #555;
  border-radius: 5px;
  margin: auto;
  padding: 20px;
}
ul {
  margin: 0;
  padding-bottom: 0;
}
li {
  padding-top: 2px;
}
h1 {
  font-size: 18pt;
  line-height: 30px;
  margin: 0;
}
h1 img {
  float: right;
  border: 0;
  margin-top: -4px;
  -webkit-margin-start: 20px;
}
html[dir=rtl] h1 img {
  float: left;
}
h2 {
  font-size: 10pt;
  font-weight: bold;
  margin: 0;
  padding: 0;
}
a {
  color: #00c;
}
a:active {
  color: #f00;
}
a:visited {
  color: #551a8b;
}
#errorSummary, #suggestions, #search {
  -webkit-margin-start: 3px;
  margin-top: 15px;
}
#errorDetails {
  color: #777;
  -webkit-margin-start: 3px;
  margin-top: 30px;
}
.failedUrl {
  word-wrap: break-word;
}
</style>
<script>
/**
 * Sets the classes of elements to match their jscontent values.
 * Elements without jscontent values are ignored.
 *
 * This allows styles to be applied to nested elements from
 * within GRD files.  To work on these elements, this must be
 * called after jscontent substitution.
 */
function setJsContentElementClasses() {
  var elements = document.querySelectorAll('[jscontent]');
  for (var i = 0; i < elements.length; ++i) {
    elements[i].className = elements[i].getAttribute('jscontent');
  }
}

document.addEventListener('DOMContentLoaded',
                          setJsContentElementClasses,
                          false);

if (window.screen.colorDepth >= 24)
  document.documentElement.setAttribute('high-color-depth', '');
</script></head>



<body id="t" jstcache="0">
<div id="cell" jstcache="0">
 <div id="box" jstcache="0">
  <h1 jstcache="0">
   <img src="" jstcache="0">
   <span i18n-content="heading" jstcache="0">无法显示此网页</span>
  </h1>

  <div id="errorSummary" jsselect="summary" jstcache="1">
   <span jsvalues=".innerHTML:msg" jstcache="4">网址为 <strong jscontent="failedUrl" jstcache="13" class="failedUrl">http://www.facebook.com/plugins/like.php?href=http://www.vogella.de/articles/OSGi/article.html&amp;layout=button_count&amp;show_faces=false&amp;width=80&amp;action=like&amp;font=verdana&amp;colorscheme=light</strong> 的网页可能暂时无法连接，或者它已永久性地移动到了新网址。</span>
  </div>

  <div id="suggestions" jsdisplay="suggestionsHeading" jstcache="2">
   <h2 i18n-content="suggestionsHeading" jstcache="0">以下是一些建议：</h2>
   <ul jstcache="0">
    <li jsselect="suggestionsReload" jstcache="5">
      <span jsvalues=".innerHTML:msg" jstcache="4">请稍后<a jsvalues="href:reloadUrl" jstcache="14" href="http://www.facebook.com/plugins/like.php?href=http://www.vogella.de/articles/OSGi/article.html&layout=button_count&show_faces=false&width=80&action=like&font=verdana&colorscheme=light">重新载入</a>此网页。</span>
    </li>
    <li jsselect="suggestionsHomepage" jstcache="6" style="display: none; ">
      <span jscontent="suggestionsHomepageMsg" jstcache="11" class="suggestionsHomepageMsg"></span>
      <a jscontent="hostName" jsvalues="href:homePage" jstcache="12" class="hostName"></a>
    </li>
    <li jsselect="suggestionsFirewallConfig" jstcache="7" style="display: none; ">
      <span jsvalues=".innerHTML:msg" jstcache="4"></span>
    </li>
    <li jsselect="suggestionsProxyConfig" jstcache="8" style="display: none; ">
      <span jsvalues=".innerHTML:msg" jstcache="4"></span>
    </li>
    <li jsselect="suggestionsProxyDisable" jstcache="9" style="display: none; ">
      <span jsvalues=".innerHTML:msg" jstcache="4"></span>
    </li>
    <li jsselect="suggestionsLearnMore" jstcache="10" style="display: none; ">
      <span jsvalues=".innerHTML:msg" jstcache="4"></span>
    </li>
   </ul>
  </div>

  <div id="errorDetails" jsselect="details" jscontent="$this" jstcache="3" class="$this">错误 118 (net::ERR_CONNECTION_TIMED_OUT)：操作超时。</div>
 </div>
</div>


<script jstcache="0">// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

/**
 * @fileoverview This is a simple template engine inspired by JsTemplates
 * optimized for i18n.
 *
 * It currently supports two handlers:
 *
 *   * i18n-content which sets the textContent of the element
 *
 *     <span i18n-content="myContent"></span>
 *     i18nTemplate.process(element, {'myContent': 'Content'});
 *
 *   * i18n-values is a list of attribute-value or property-value pairs.
 *     Properties are prefixed with a '.' and can contain nested properties.
 *
 *     <span i18n-values="title:myTitle;.style.fontSize:fontSize"></span>
 *     i18nTemplate.process(element, {
 *       'myTitle': 'Title',
 *       'fontSize': '13px'
 *     });
 */

var i18nTemplate = (function() {
  /**
   * This provides the handlers for the templating engine. The key is used as
   * the attribute name and the value is the function that gets called for every
   * single node that has this attribute.
   * @type {Object}
   */
  var handlers = {
    /**
     * This handler sets the textContent of the element.
     */
    'i18n-content': function(element, attributeValue, obj) {
      element.textContent = obj[attributeValue];
    },

    /**
     * This handler adds options to a select element.
     */
    'i18n-options': function(element, attributeValue, obj) {
      var options = obj[attributeValue];
      options.forEach(function(values) {
        var option = typeof values == 'string' ? new Option(values) :
            new Option(values[1], values[0]);
        element.appendChild(option);
      });
    },

    /**
     * This is used to set HTML attributes and DOM properties,. The syntax is:
     *   attributename:key;
     *   .domProperty:key;
     *   .nested.dom.property:key
     */
    'i18n-values': function(element, attributeValue, obj) {
      var parts = attributeValue.replace(/\s/g, '').split(/;/);
      for (var j = 0; j < parts.length; j++) {
        var a = parts[j].match(/^([^:]+):(.+)$/);
        if (a) {
          var propName = a[1];
          var propExpr = a[2];

          // Ignore missing properties
          if (propExpr in obj) {
            var value = obj[propExpr];
            if (propName.charAt(0) == '.') {
              var path = propName.slice(1).split('.');
              var object = element;
              while (object && path.length > 1) {
                object = object[path.shift()];
              }
              if (object) {
                object[path] = value;
                // In case we set innerHTML (ignoring others) we need to
                // recursively check the content
                if (path == 'innerHTML') {
                  process(element, obj);
                }
              }
            } else {
              element.setAttribute(propName, value);
            }
          } else {
            console.warn('i18n-values: Missing value for "' + propExpr + '"');
          }
        }
      }
    }
  };

  var attributeNames = [];
  for (var key in handlers) {
    attributeNames.push(key);
  }
  var selector = '[' + attributeNames.join('],[') + ']';

  /**
   * Processes a DOM tree with the {@code obj} map.
   */
  function process(node, obj) {
    var elements = node.querySelectorAll(selector);
    for (var element, i = 0; element = elements[i]; i++) {
      for (var j = 0; j < attributeNames.length; j++) {
        var name = attributeNames[j];
        var att = element.getAttribute(name);
        if (att != null) {
          handlers[name](element, att, obj);
        }
      }
    }
  }

  return {
    process: process
  };
})();
</script><script jstcache="0">(function(){function j(a,b){for(var c in b)a[c]=b[c]}function l(){return Function.prototype.call.apply(Array.prototype.slice,arguments)}function m(a,b){var c=l(arguments,2);return function(){return b.apply(a,c)}}var n=9;function o(a,b){b=new p(b);for(b.f=[a];b.f.length;){a=b.f.shift();b.g(a);for(a=a.firstChild;a;a=a.nextSibling)a.nodeType==1&&b.f.push(a)}}function p(a){this.g=a}function q(a,b,c){a.setAttribute(b,c)}function r(a,b){a.removeAttribute(b)}function s(a){a.style.display=""}
function t(a){a.style.display="none"};var u=":",v=/\s*;\s*/;function w(){this.i.apply(this,arguments)}w.prototype.i=function(a,b){var c=this;if(!c.a)c.a={};b?j(c.a,b.a):j(c.a,x);c.a.$this=a;c.a.$context=c;c.d=typeof a!="undefined"&&a!=null?a:"";if(!b)c.a.$top=c.d};var x={};(function(a,b){x[a]=b})("$default",null);var y=[];function z(a){for(var b in a.a)delete a.a[b];a.d=null;y.push(a)}function A(a,b,c){try{return b.call(c,a.a,a.d)}catch(e){return x.$default}}
function B(a,b,c,e){if(y.length>0){var d=y.pop();w.call(d,b,a);a=d}else a=new w(b,a);a.a.$index=c;a.a.$count=e;return a}var C="a_",E="b_",F="with (a_) with (b_) return ",G={};function H(a){if(!G[a])try{G[a]=new Function(C,E,F+a)}catch(b){}return G[a]}function I(a){return a}function J(a){var b=[];a=a.split(v);for(var c=0,e=a.length;c<e;++c){var d=a[c].indexOf(u);if(!(d<0)){var f;f=a[c].substr(0,d).replace(/^\s+/,"").replace(/\s+$/,"");d=H(a[c].substr(d+1));b.push(f,d)}}return b}
function K(a){var b=[];a=a.split(v);for(var c=0,e=a.length;c<e;++c)if(a[c]){var d=H(a[c]);b.push(d)}return b};var L="jsinstance",aa="jsts",M="*",N="div",ba="id";function ca(a,b){var c=new O;P(b);c.j=b?b.nodeType==n?b:b.ownerDocument||document:document;var e=m(c,c.e,a,b);a=c.h=[];b=c.k=[];c.c=[];e();for(var d,f,g;a.length;){d=a[a.length-1];e=b[b.length-1];if(e>=d.length){e=a.pop();e.length=0;c.c.push(e);b.pop()}else{f=d[e++];g=d[e++];d=d[e++];b[b.length-1]=e;f.call(c,g,d)}}}function O(){}var da=0,Q={};Q[0]={};var R={},S={},T=[];function P(a){a.__jstcache||o(a,function(b){U(b)})}
var V=[["jsselect",H],["jsdisplay",H],["jsvalues",J],["jsvars",J],["jseval",K],["transclude",I],["jscontent",H],["jsskip",H]];
function U(a){if(a.__jstcache)return a.__jstcache;var b=a.getAttribute("jstcache");if(b!=null)return a.__jstcache=Q[b];b=T.length=0;for(var c=V.length;b<c;++b){var e=V[b][0],d=a.getAttribute(e);S[e]=d;d!=null&&T.push(e+"="+d)}if(T.length==0){a.setAttribute("jstcache","0");return a.__jstcache=Q[0]}var f=T.join("&");if(b=R[f]){a.setAttribute("jstcache",b);return a.__jstcache=Q[b]}var g={};b=0;for(c=V.length;b<c;++b){d=V[b];e=d[0];var i=d[1];d=S[e];if(d!=null)g[e]=i(d)}b=""+ ++da;a.setAttribute("jstcache",
b);Q[b]=g;R[f]=b;return a.__jstcache=g}function W(a,b){a.h.push(b);a.k.push(0)}function X(a){return a.c.length?a.c.pop():[]}O.prototype.e=function(a,b){var c=this,e=Y(c,b),d=e.transclude;if(d)if(e=Z(d)){b.parentNode.replaceChild(e,b);b=X(c);b.push(c.e,a,e);W(c,b)}else b.parentNode.removeChild(b);else(e=e.jsselect)?ea(c,a,b,e):c.b(a,b)};
O.prototype.b=function(a,b){var c=this,e=Y(c,b),d=e.jsdisplay;if(d){if(!A(a,d,b)){t(b);return}s(b)}(d=e.jsvars)&&fa(c,a,b,d);(d=e.jsvalues)&&ga(c,a,b,d);if(d=e.jseval)for(var f=0,g=d.length;f<g;++f)A(a,d[f],b);if(d=e.jsskip)if(A(a,d,b))return;if(e=e.jscontent){a=""+A(a,e,b);if(b.innerHTML!=a){for(;b.firstChild;)b.firstChild.parentNode.removeChild(b.firstChild);c=c.j.createTextNode(a);b.appendChild(c)}}else{e=X(c);for(b=b.firstChild;b;b=b.nextSibling)b.nodeType==1&&e.push(c.e,a,b);e.length&&W(c,e)}};
function ea(a,b,c,e){e=A(b,e,c);var d=c.getAttribute(L),f=false;if(d)if(d.charAt(0)==M){var g=d.substr(1);d=parseInt(g,10);f=true}else d=parseInt(d,10);var i=e!=null&&typeof e=="object"&&typeof e.length=="number";g=i?e.length:1;var h=i&&g==0;if(i)if(h)if(d)c.parentNode.removeChild(c);else{c.setAttribute(L,"*0");t(c)}else{s(c);if(d===null||d===""||f&&d<g-1){f=X(a);d=d||0;for(i=g-1;d<i;++d){var k=c.cloneNode(true);c.parentNode.insertBefore(k,c);$(k,e,d);h=B(b,e[d],d,g);f.push(a.b,h,k,z,h,null)}$(c,
e,d);h=B(b,e[d],d,g);f.push(a.b,h,c,z,h,null);W(a,f)}else if(d<g){f=e[d];$(c,e,d);h=B(b,f,d,g);f=X(a);f.push(a.b,h,c,z,h,null);W(a,f)}else c.parentNode.removeChild(c)}else if(e==null)t(c);else{s(c);h=B(b,e,0,1);f=X(a);f.push(a.b,h,c,z,h,null);W(a,f)}}function fa(a,b,c,e){a=0;for(var d=e.length;a<d;a+=2){var f=e[a],g=A(b,e[a+1],c);b.a[f]=g}}
function ga(a,b,c,e){a=0;for(var d=e.length;a<d;a+=2){var f=e[a],g=A(b,e[a+1],c);if(f.charAt(0)=="$")b.a[f]=g;else if(f.charAt(0)=="."){f=f.substr(1).split(".");for(var i=c,h=f.length,k=0,ha=h-1;k<ha;++k){var D=f[k];i[D]||(i[D]={});i=i[D]}i[f[h-1]]=g}else if(f)if(typeof g=="boolean")g?q(c,f,f):r(c,f);else c.setAttribute(f,""+g)}}function Y(a,b){if(b.__jstcache)return b.__jstcache;if(a=b.getAttribute("jstcache"))return b.__jstcache=Q[a];return U(b)}
function Z(a,b){var c=document;if(a=b?ia(c,a,b):c.getElementById(a)){P(a);a=a.cloneNode(true);a.removeAttribute(ba);return a}else return null}function ia(a,b,c,e){var d=a.getElementById(b);if(d)return d;c=c();e=e||aa;if(d=a.getElementById(e))d=d;else{d=a.createElement(N);d.id=e;t(d);d.style.position="absolute";a.body.appendChild(d)}e=a.createElement(N);d.appendChild(e);e.innerHTML=c;return d=a.getElementById(b)}function $(a,b,c){c==b.length-1?q(a,L,M+c):q(a,L,""+c)};window.jstGetTemplate=Z;window.JsEvalContext=w;window.jstProcess=ca;
})()</script><script jstcache="0">var templateData = {"details":"\u9519\u8BEF 118 (net::ERR_CONNECTION_TIMED_OUT)\uFF1A\u64CD\u4F5C\u8D85\u65F6\u3002","heading":"\u65E0\u6CD5\u663E\u793A\u6B64\u7F51\u9875","suggestionsHeading":"\u4EE5\u4E0B\u662F\u4E00\u4E9B\u5EFA\u8BAE\uFF1A","suggestionsReload":{"msg":"\u8BF7\u7A0D\u540E\u003Ca jsvalues=\"href:reloadUrl\"\u003E\u91CD\u65B0\u8F7D\u5165\u003C/a\u003E\u6B64\u7F51\u9875\u3002","reloadUrl":"http://www.facebook.com/plugins/like.php?href=http://www.vogella.de/articles/OSGi/article.html&layout=button_count&show_faces=false&width=80&action=like&font=verdana&colorscheme=light"},"summary":{"failedUrl":"http://www.facebook.com/plugins/like.php?href=http://www.vogella.de/articles/OSGi/article.html&layout=button_count&show_faces=false&width=80&action=like&font=verdana&colorscheme=light","msg":"\u7F51\u5740\u4E3A \u003Cstrong jscontent=\"failedUrl\"\u003E\u003C/strong\u003E \u7684\u7F51\u9875\u53EF\u80FD\u6682\u65F6\u65E0\u6CD5\u8FDE\u63A5\uFF0C\u6216\u8005\u5B83\u5DF2\u6C38\u4E45\u6027\u5730\u79FB\u52A8\u5230\u4E86\u65B0\u7F51\u5740\u3002","productName":"Google Chrome \u6D4F\u89C8\u5668"},"textdirection":"ltr","title":"\u65E0\u6CD5\u8BBF\u95EE http://www.facebook.com/plugins/like.php?href=http://www.vogella.de/articles/OSGi/article.html&layout=button_count&show_faces=false&width=80&action=like&font=verdana&colorscheme=light"};</script><script jstcache="0">i18nTemplate.process(document, templateData);</script><script jstcache="0">var tp = document.getElementById('t');jstProcess(new JsEvalContext(templateData), tp);</script></body></html>